From: Dario Faggioli Date: Mon, 30 Sep 2013 11:59:47 +0000 (+0200) Subject: cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6233 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=93be8285a79c6;p=xen.git cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path that is, when a cpu is remove from a pool, as it is happening already on the cpupool_assign_cpu_*() path (i.e., when a cpu is added to a pool). Signed-off-by: Dario Faggioli Acked-by: Juergen Gross --- diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c index 2164a9fc72..933de782b7 100644 --- a/xen/common/cpupool.c +++ b/xen/common/cpupool.c @@ -355,6 +355,12 @@ int cpupool_unassign_cpu(struct cpupool *c, unsigned int cpu) atomic_inc(&c->refcnt); cpupool_cpu_moving = c; cpumask_clear_cpu(cpu, c->cpu_valid); + + rcu_read_lock(&domlist_read_lock); + for_each_domain_in_cpupool(d, c) + domain_update_node_affinity(d); + rcu_read_unlock(&domlist_read_lock); + spin_unlock(&cpupool_lock); work_cpu = smp_processor_id();